package com.kaifamiao.month03.day0324;

public class Fibonacci {

    public static void main(String[] args) {
        int n = 20;
        int[] array = getArray(n);
        System.out.println("前 " + n + " 个斐波拉契数列是：");
        for (int a : array){
            System.out.print(a + "\t");
        }
    }

    /**
     * 将斐波拉契数列放到数组里
     * @param n 需要几个斐波拉契数
     * @return 斐波拉契数列数组
     */
    public static int[] getArray(int n){
        int[] array = new int[n];
        for (int i = 0; i < n; i ++){
            array[i] = getFibonacci(i + 1);
        }
        return array;
    }

    /**
     * 计算第几个斐波拉契数
     * @param num 要计算第几个斐波拉契数
     * @return 找到的斐波拉契数
     */
    public static int getFibonacci(int num){
        if (num == 1 || num == 2){
            return 1;
        }
        return getFibonacci(num -1) + getFibonacci(num - 2);
    }
}
